1. Field of the Invention
The present invention relates to image signal processing and to a method for interpolating chrominance signals in a video encoder and a decoder based on optimized computation and memory access so that interpolation can be performed efficiently with little power consumption.
2. Description of the Related Art
As generally known in the art, image compression is based on a number of compression standards, including MPEG and H.26x, and such image compression techniques are widely used for video players, VODs, video telephones, DMB, etc. In addition, development of wireless communication (e.g. 2.5G/3G) has resulted in commercialized image transmission on a wireless mobile basis.
Most moving image compression standards, including MPEG- or H.26x-series moving image codecs, adopt a compression scheme based on motion estimation/compensation and transformation. In the case of encoding based on such motion estimation/compensation, information regarding the motion vector of each block must be encoded and transmitted. In addition, how the motion vector is encoded may greatly affect the compression efficiency.
Recently, ITU-T and ISO has jointly established H.264 as the next-generation moving image compression standard, which has progressed remarkably from conventional technical standards (e.g. MPEG-2, MPEG-4 (Part 2)) in terms of flexible adaptation to various network environments and efficient encoding of moving images.
Images are generally encoded in the following manner: a digital image signal is subjected to DCT (Discrete Cosine Transform); a DCT coefficient is quantized so as to perform VLC (Variable Length Coding); the quantized DCT coefficient is inversely quantized and subjected to inverse DCT so that the image is restored and stored in a memory; the stored image and the next frame image are used to obtain a motion vector; and the motion vector is subjected to VLC so as to constitute a bit stream together with the encoded image information and transmit it. Decoding of images follows the opposite order.
Methods for compressing and encoding images are based on spatial redundancy and/or temporal redundancy. In the case of a moving image codec based on temporal redundancy, the temporal redundancy with regard to the previous frame can be efficiently eliminated by using the motion vector of macro blocks. For example, the codec searches for a macro block most similar to the macro block of the current frame from a previous frame (reference frame). As a standard for determining similarity between the macro block of the current frame and that of the previous frame, the codec calculates the square of distance between two vectors and searches for a macro block having the smallest square. In this manner, the redundancy between frames is efficiently eliminated so as to improve the compression efficiency.
FIG. 1 shows a conventional H.264 compression codec interpolating chrominance signals.
Referring to FIG. 1, the chrominance signal sub-pixel interpolation method based on H.264 uses ⅛ interpolation. That is, it simply uses integer pixel values adjacent to a location indicated by a motion vector. Particularly, the interpolation is based on four adjacent integer pixel values as defined by equation (1).
                              Pred_Pixel          =                      (                                                            (                                      8                    -                                          x                      ⁢                                                                                          ⁢                      Frac                                                        )                                *                                  (                                      8                    -                                          y                      ⁢                                                                                          ⁢                      Frac                                                        )                                *                A                            +                              x                ⁢                                                                  ⁢                Frac                *                                  (                                      8                    -                                          y                      ⁢                                                                                          ⁢                      Frac                                                        )                                *                B                            +                                                (                                      8                    -                                          x                      ⁢                                                                                          ⁢                      Frac                                                        )                                *                y                ⁢                                                                  ⁢                Frac                *                C                            +                              x                ⁢                                                                  ⁢                Frac                *                y                ⁢                                                                  ⁢                Frac                *                D                            +              32                        )                          >>        6                            (        1        )                            wherein, “>>” refers to rightward bit-shift        
This method has the advantage of high interpolation performance by using adjacent integer pixels. However, the sub-pixel value of ⅛ location cannot be obtained but from a single formula.
Basically, a luma signal interpolation method based on H.264 performs ¼ sub-pixel computation, and the resulting chrominance signal interpolation method is based on ⅛ interpolation. This chrominance signal interpolation method, which uses ⅛ sub-pixels, has been developed to obtain higher accuracy by using four adjacent integer pixels only. However, this interpolation method has a problem in that, since the formula requires many multiplication steps and inefficient memory access, the overall amount of computation increases. Therefore, an alternative computation method is necessary with regard to the chrominance signal interpolation method based on H.264. Particularly, a method for reducing the memory access frequency is requested. To this end, the calculation characteristics of H.264 video encoders and decoders must be analyzed for more efficient computation with a smaller size.